package exception;

import java.awt.*;
import java.io.FileNotFoundException;
import java.io.IOException;

/**
 * 当派生类重写超类含有throws声明异常抛出的方法时，对throws的重写规则
 *
 */
public class ThrowsDemo2 {
    public void doSome() throws IOException, AWTException{ }
}

class SubClass extends ThrowsDemo2{
    //可以完全相同，可以不抛，可以抛部分，可以抛子类型
    //public void doSome() throws IOException, AWTException {} //完全相同
    //public void doSome() throws IOException{} //抛出部分
    //public void doSome() throws FileNotFoundException{} //抛出超类声明异常的子类异常
    //public void doSome() {} //不抛也可以

    //不能抛没有的，不能抛父类型
    //public void doSome() throws IllegalAgeException{} //不允许抛出额外异常(超类没有，并且超类声明异常的子类也没有)
    //public void doSome() throws Exception{} //不允许抛出超类方法抛出异常的超类型异常
}
